# -*- mode: python -*-
block_cipher = None

a = Analysis(
    ['app.py'],  # 入口文件路径
    pathex=['d:\\datasolve\\jxyaiserver'],  # 项目根目录（Windows 路径用双反斜杠）
    binaries=[],  # 无需额外二进制文件
    datas=[
        ('config.py', '.'),  # 配置文件：打包到根目录
        ('routes', 'routes'),  # 路由模块：打包到 routes 子目录
        ('converters', 'converters'),  # 转换模块：打包到 converters 子目录
        ('.env', '.'),  # 环境变量文件：打包到根目录
        ('temp', 'temp')  # 临时目录：打包到 temp 子目录（保留空目录结构）
    ],
    hiddenimports=[
        'flask', 'openai', 'pandas', 'fitz', 'dotenv', 'requests', 'PIL'  # 显式声明隐藏依赖
    ],
    hookspath=[],  # 无额外钩子
    runtime_hooks=[],  # 无运行时钩子
    excludes=[],  # 无需排除的模块
    cipher=block_cipher
)

pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.zipfiles,
    a.datas,
    name='jxyaiserver.exe',  # Windows 可执行文件后缀
    debug=False,  # 非调试模式
    strip=False,  # 不剥离调试信息
    upx=True,  # 启用 UPX 压缩
    console=True  # 保留控制台（方便查看日志，若需静默运行改为 False）
)